Quantization of channel state information in multiple antenna systems

ABSTRACT

A method of transmission over multiple wireless channels in a multiple antenna system includes storing channel modulation matrices at a transmitter; receiving quantized channel state information at the transmitter from plural receivers; selecting a transmission modulation matrix using the quantized channel state information from the stored channel modulation matrices; and transmitting over the multiple channels to the plural receivers using the selected transmission modulation matrix. In another embodiment, the method includes storing, at one or more receivers, indexes of modulation matrices generated by a capacity enhancing algorithm; upon a selected one of the one or more receivers receiving a transmission from the transmitter, the selected receiver selecting a modulation matrix from the stored modulation matrices that optimizes transmission between the transmitter and the selected receiver; the selected receiver sending an index representing the selected modulation matrix; and receiving the index at the transmitter from the selected receiver.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a division of U.S. application Ser. No. 11/754,965,filed May 29, 2007, which claims the benefit under 35 U.S.C. §119(e) ofU.S. Provisional Patent Application No. 60/808,806, filed May 26, 2006,the entire disclosure of which is incorporated herein by reference.

BACKGROUND

The development of the modern Internet-based data communication systemsand ever increasing demand for bandwidth have spurred an unprecedentedprogress in development of high capacity wireless systems. The majortrends in such systems design are the use of multiple antennas toprovide capacity gains on fading channels and orthogonal frequencydivision multiplexing (OFDM) to facilitate the utilization of thesecapacity gains on rich scattering frequency-selective channels. Sincethe end of the last decade, there has been an explosion of interest inmultiple-input multiple-output systems (MIMO) and a lot of research workhas been devoted to their performance limits and methods to achievethem.

One of the fundamental issues in multiple antenna systems is theavailability of the channel state information at transmitter andreceiver. While it is usually assumed that perfect channel stateinformation (CSI) is available at the receiver, the transmitter may haveperfect, partial or no CSI. In case of the single user systems, theperfect CSI at the transmitter (CSIT) allows for use of a spatialwater-filling approach to achieve maximum capacity. In case ofmulti-user broadcast channels (the downlink), the capacity is maximizedby using the so called dirty paper coding, which also depends on theavailability of perfect CSIT. Such systems are usually refereed to asclosed-loop as opposed to open-loop systems where there is no feedbackfrom the receiver and the transmitter typically uses equal-powerdivision between the antennas.

In practice, the CSI should be quantized to minimize feedback rate whileproviding satisfactory performance of the system. The problem hasattracted attention of the scientific community and papers providedsolutions for beam-forming on flat-fading MIMO channels where thediversity gain is the main focus. Moreover, some authors dealt withfrequency-selective channels and OFDM modulation although also thosepapers were mainly devoted to beamforming approach.

Unfortunately, availability of full CSIT is unrealistic due to thefeedback delay and noise, channel estimation errors and limited feedbackbandwidth, which forces CSI to be quantized at the receiver to minimizefeedback rate. The problem has attracted attention of the scientificcommunity and papers have provided solutions for single-user beamformingon flat-fading MIMO channels, where the diversity gain is the mainfocus. More recently, CSI quantization results were shown for multi-userzero-forcing algorithms by Jindal.

SUMMARY

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features ofthe claimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

We present a simple, flexible algorithm that is constructed withmultiplexing approach to MIMO transmission, i.e., where the channel isused to transmit multiple data streams. We use a vector quantizerapproach to construct code-books of water-filling covariance matriceswhich can be used in a wide variety of system configurations and onfrequency selective channels. Moreover, we propose a solution whichreduces the required average feedback rate by transmitting the indexesof only those covariance matrices which provide higher instantaneouscapacity than the equal power allocation.

DESCRIPTION OF THE DRAWINGS

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

Embodiments will now be described with reference to the figures, inwhich like reference characters denote like elements, by way of example,and in which:

FIG. 1 shows a typical transmission system;

FIG. 2 is a flow diagram showing basic system operation;

FIG. 3 is a flow diagram showing use of quantized mode gain in thesystem of FIG. 1;

FIG. 4 a is a flow diagram showing design of optimized orthogonal modematrices for use in the system of FIG. 1 for single user case;

FIG. 4 b is a flow diagram showing design of optimized orthogonal modesfor use in the system of FIG. 1 for a multi user system;

FIG. 5 is a flow diagram showing an embodiment of calculation ofthroughput at the transmitter in the system of FIG. 1 for single usercase;

FIG. 6 is a flow diagram showing an embodiment of calculation ofthroughput at the transmitter in the system of FIG. 1 for multiple usercase;

FIG. 7 is a flow diagram showing design of stored modulation matrices atthe transmitter of FIG. 1 for multiple user case;

FIG. 8 is a flow diagram showing nested quantization;

FIG. 9 is a flow diagram showing design of mode gain matrixes for use inthe system of FIG. 1;

FIG. 10 is a flow diagram showing design of power allocation matricesfor use at the transmitter of FIG. 1 for multiple user case;

FIG. 11 shows the distribution of {circumflex over (V)} and Ŝ in vectorcodebooks for a 2×2 MIMO system and N_(V)=2 and N_(S)=1. The twoorthogonal eigenvectors in each {circumflex over (V)} matrix are shownusing the same line style. The X-axis corresponds to the real entries inthe first rows of {circumflex over (V)} and the YZ-plane corresponds tothe complex entries in the second rows of the matrices. In case of Ŝ,the entries are presented for different power levels P in a normalizedform Ŝ/P. FIG. 11( a) shows {circumflex over (V)} for N_(V)=2 and FIG.11( b) shows Ŝ for N_(S)=1

FIG. 12 shows (a) ergodic system capacity C and (b) average feedback bitrate R_(b) for different granularities of channel state information atthe transmitter on the flat fading channel. System capacity is shown inlogarithmic scale to better illustrate the differences between curves.

FIG. 13 shows (a) capacity loss and (b) average feedback bit rate R_(b)on the frequency selective channel.

FIG. 14 shows sum-rates of cooperative, zero-forcing DPC and linearsystems with full CSIT and 10 users with identical receivers.

FIG. 15 is an example of multi-user interference caused by partial CSIT.

FIG. 16 is an example of the nested quantization of eigenmodes. Thethick lines symbolize centroids {circumflex over (v)}(i) of therespective regions v_(i). 16(a) shows a coarse 2-bit quantizer and 16(b)a precise 2-bit quantizer of v₃.

FIG. 17 shows linear system sum-rates with full CSIT and varyingfeedback bit-rate for K=2. n_(T)=2 and all users with n_(R)=2 antennas.

FIG. 18 shows linear system sum-rates with full CSIT and varyingfeedback bit-rate for K+10. n_(T)=2 and all users with n_(R)=2 antennas.

FIG. 19 shows linear system sum-rates with full CSIT and nested CSIquantization with varying eigenmode coherence time τ_(eig) (N_(v)).n_(T)=2, K=10, n_(R)=2, N_(s)=1 and N_(v)=2,4.

DETAILED DESCRIPTION

One of the fundamental issues in multiple antenna systems is theavailability of the channel state information (CSI) at transmitter andreceiver [24]. The perfect CSI at the transmitter (CSIT) enables the useof a spatial water-filling, dirty paper coding and simultaneoustransmission to multiple users, allowing the systems to approach theirmaximum theoretical capacity. Such systems are usually referred to asclosed-loop as opposed to open-loop systems where there is no feedbackfrom the receiver. Closed-loop systems enable major increases of systemcapacities, allowing the operators to multiply their revenue andmaintain high quality of service at the same time.

In this work, we describe a flexible approach to CSI encoding, which canbe used to construct the linear modulation matrices for both single-userand multi-user networks. In both cases, the modulation matrices arecomposed of two independent parts: the eigenmode matrix and the diagonalpower division matrix with the sum of entries on the diagonal equalto 1. The system operates as follows:

-   -   1. The receiver(s)[24] estimate(s) the respective multiple        antenna channel(s).    -   2. Each estimated channel is decomposed using the singular value        decomposition (SVD) to form the matrix of eigenmodes[3O] and        their respective singular values [304].    -   3. If the system works in the single-user mode, all entries in        the codebook of transmitter eigenmode modulation matrices[32]        and all entries in the codebook of transmitter power division        matrices[32A] are tested at the receiver to choose their        combination providing highest instantaneous capacity. The        indices of the best transmitter eigenmode and power division        matrices are then sent[34],[34A] back to the transmitter.    -   4. If the system works in the multi-user mode, all entries in        the codebook of receiver eigenmode vectors[32] and all entries        in the codebook of receiver mode gains[32A] are tested at the        receiver[24] for best match with the estimated channel (the        matching function can be chosen freely by the system designer).        The indices of the best receiver eigenmode and power division        matrices[94] are then sent[34] back to the transmitter.    -   5. Based on the received[36],[36A] indices, the transmitter        chooses[38],[52],[62] the modulation matrix and uses it to        transmit[40] the information to one or more users[24] at a time.

Our proposed method allows to simplify the feedback system byimplementing only one set of eigenmode matrices for all values ofsignal-to-noise ratio (SNR) and a much smaller set of power divisionmatrices that differ slightly for different values of SNR. As a result,the required feedback bit rate is kept low and constant throughout thewhole range of SNR values of interest. The additional advantage of thesplitting of the modulation matrix into two parts is that it can lowerthe feedback bit rate for slowly-varying channels. If the eigenmodes ofthe channel stay within the same region for an extended period of time,additionally, nested encoding can be performed to increase theresolution of the CSIT and improve the system capacity.

The actual design of the receiver and transmitter eigenmode and powerdivision matrices can be done using numerical or analytical methods andis not the object of this disclosure. However, our method allows foractual implementations of systems closely approaching the theoreticalcapacities of MIMO channels without putting any unrealistic demand onthe feedback link throughput. This is a major improvement compared tothe other state-of-the art CSI quantization methods, which experienceproblems approaching the theoretical capacities and suffer from theearly onset of capacity ceiling due to inter-user interference atrelatively low SNR.

I. System Model for Single User Communication and OFDM

We assume that the communication system consists of a transmitterequipped with n_(T) antennas[22] and a receiver[24] with n_(R)antennas[26]. A general frequency selective fading channel is modeled bya set of channel matrices H_(j) of dimension n_(R)×n_(T) defined foreach sub-carrier j=0,1, . . . . N_(OFDM)-1. The received signal at thejth sub-carrier is then given by the n_(R)-dimensional vector y_(j)defined as

y _(j) =H _(j) x _(j) +n _(j)  (1)

where x_(i) is the n_(T)-dimensional vector of the transmitted signaland is the n_(R)-dimensional vector consisting of independent circularcomplex Gaussian entries with zero mean and variance 1. Moreover, weassume that power is allocated equally across all sub-carriers|x_(j)|²=P.

II. Quantizing Water-Filling Information

If the transmitter has access to the perfect channel state informationabout the matrix H_(j), it can select the signaling vector x_(j) tomaximize the closed-loop system capacity

$\begin{matrix}{C = {\sum\limits_{j}{\log_{2}{\det\left\lbrack {I + {H_{j}Q_{j}H_{j}^{H}}} \right\rbrack}}}} & (2)\end{matrix}$

where Q_(j)=E[x_(j)x_(j) ^(H)]. Unfortunately, optimizing the capacityin (2) requires a very large feedback rate to transmit information aboutoptimum Q_(j) (or correspondingly H_(j)) which is impractical. Instead,we propose using a limited feedback link, with the transmitter choosingfrom a set of matrices {circumflex over (Q)}(n).

Using the typical approach involving singular value decomposition andoptimum water-filling, we can rewrite (1) as

y _(j) =H _(j) x _(j) +n _(j)=(U _(j) D _(j) V _(j) ^(H))(V _(j) {tildeover (x)} _(j))+n _(j)  (3)

where E[{tilde over (x)}_(j){tilde over (x)}_(j) ^(H)]=S_(j) constrainedwith Tr (S_(j))=P is a diagonal matrix describing optimum powerallocation between the eigenmodes in V_(i). Based on (3), the set ofmatrices Q_(j)=V_(j)S_(j)V_(j) ^(H), maximizes capacity in (2).

To construct the most efficient vector quantizer for channel feedback,the straightforward approach would be to jointly optimize signalcovariance matrices {circumflex over (Q)} for all sub-carriers at once.Such an approach, however, is both complex and impractical, since anychange of channel description and/or power level would render theoptimized quantizer suboptimal. Instead, we propose an algorithm whichseparately quantizes information about eigenmode matrices V_(j) incodebook {circumflex over (V)} and power allocation S_(j) in codebook Ŝ.Note that the first variable depends only on channel description and noton the power level P which simplifies the design.

We optimize the quantizers {circumflex over (V)} and Ŝ for flat-fadingcase and we apply them separately for each sub-carrier in case of OFDMmodulation. Although such an approach is sub-optimal, it allows a largedegree of flexibility since different system setups can be supportedwith the same basic structure.

A. Quantizing Eigenmodes

We assume that the receiver[24] has perfect channel state information(CSIR) and attempts to separate[30] the eigenmode streams {tilde over(x)}_(j) in (3) by multiplying y_(j) with U_(j) ^(H). However, if thetransmitter uses quantized eigenmode matrix set with limitedcardinality, the diagonalization of {tilde over (x)}_(j) will not beperfect. To model this, we introduce a heuristic distortion metric whichis expressed as

γv(n;H)=∥DV ^(H) {circumflex over (V)}(n)−D∥ _(F)  (4)

where {circumflex over (V)}(n) is the nth entry in the predefined set ofchannel diagonalization matrices and ∥.∥_(F) is the Frobenius norm. Weomitted subscript entries j in (4) for the clarity of presentation.

We assume that n=0,1, . . . 2^(N) ^(v) −1 where N_(v), is the number ofbits per channel realization in the feedback link needed to representthe vectors {circumflex over (V)}(n). To design the quantizer using (4),we divide the whole space of channel realizations H into 2^(N) ^(v)regions V_(i) where

V _(i) ={γv(i;H)<γv(j;H)for all j≠i}.  (5)

It can be shown that minimizing this metric should, on average, lead tomaximizing the ergodic capacity of the channel with the quantizedfeedback (when γ(n;H)=0 the channel becomes perfectly diagonalized). Theoptimum selection of {circumflex over (V)} and regions V_(i) in (5) isan object of our current work. Here, however, we use a simple iterativeheuristic based on a modified form of the Lloyd algorithm, which hasvery good convergence properties and usually yields good results. Thealgorithm starts by creating a codebook of centroids {circumflex over(V)} and, based on these results, divides the quantization space intoregions V_(i). The codebook is created as follows: [50]

-   -   1. Create a large training set of L random matrices H(l).[46]    -   2. For each random matrix H(l), perform singular value        decomposition to obtain D(l) and V(l) as in (3).    -   3. Set iteration counter i=0. Create a set of 2^(N) ^(v) random        matrices Ĥ(n).    -   4. For each matrix Ĥ(n) calculate corresponding {circumflex over        (V)}^((i))(n) using singular value decomposition.    -   5. For each training element H(l) and codebook entry {circumflex        over (V)}^((i))(n) calculate the metric in (4). For every l        choose indexes n_(opt)(l) corresponding to the lowest values of        γv(n;H(l)).    -   6. Calculate a new set {circumflex over (V)}^((i+1))(n) as a        form of spherical average of all entries V(l) corresponding to        the same index n using the following method. (The direct        averaging is impossible since it does not preserve orthogonality        between eigenvectors.) For all n calculate the subsets        L(n)={l:n_(opt)(l)=n} and if their respective cardinalities        |L(n)|≠0 the corresponding matrices Q ^((i+1))(n) can be        obtained as

$\begin{matrix}{{{\overset{\_}{Q}}^{({i + 1})}(n)} = {\frac{1}{{L(n)}}{\sum\limits_{l \in {L{(n)}}}{{V(l)}^{1}{{OV}(l)}^{H}}}}} & (6)\end{matrix}$

-   -   -   where ¹O is an n_(T)×n_(T) all-zero matrix with the            exception of the upper-left corner element equal to 1.            Finally, using singular value decomposition, calculate            {circumflex over (V)}^((i+1))(n) from

Q ^((i+1))(n)={circumflex over (V)} ^((i+1))(n)W({circumflex over (V)}^((i+1))(n))^(H)  (7)

-   -   -   where W is a dummy variable.

    -   7. Calculate the average distortion metric

γ _(v) ^((i+1))=1/LΣ _(l) γv(n _(opt)(l);H(l)).

-   -   8. If distortion metric fulfills | γ _(v) ^((i+1))− γ _(v)        ^((i))|/ γ _(v) ^((i))<Θ, stop. Otherwise increase i by 1 and go        to 5).

Upon completion of the above algorithm, the set of vectors {circumflexover (V)} can be used to calculate the regions in (5). The results ofthe codebook optimization are presented in FIG. 11 a) for a case ofn_(T)=n_(R)=2 and N_(V)=2. The optimization was performed usingL=1,000·2^(N) ^(v) and Θ=10⁻⁷.

B. Quantizing Power Allocation Vectors

Having optimized[50] power-independent entries in the codebook ofchannel eigenmode matrices {circumflex over (V)}, the next step is tocreate a codebook for power allocation Ŝ[118]. We use a distortionmetric defined as

$\begin{matrix}{{\gamma \; {s\left( {k;H;P} \right)}} = \frac{\det \left\lbrack {I + {HQH}^{H}} \right\rbrack}{\det \left\lbrack {I + {H{\hat{V}\left( n_{opt} \right)}{\hat{S}(k)}{{\hat{V}}^{H}\left( n_{opt} \right)}H^{H}}} \right\rbrack}} & (8)\end{matrix}$

where Ŝ(k) is the kth entry in the predefined set of channelwater-filling matrices and {circumflex over (V)}(n_(opt)) is the entryin the {circumflex over (V)} codebook that minimizes metric (4) for thegiven H. We use k=0,1, . . . 2^(N) ^(s) −1 where N_(S) is the number ofbits per channel realization in the feedback link needed to representthe vectors Ŝ(k). Minimizing the metric in (8) is equivalent tominimizing the capacity loss between the optimum water-filling using Qand the quantized water-filling using {circumflex over (V)} and Ŝ.

Similarly to the previous problem, we divide the whole space of channelrealizations H into 2^(N) ^(s) regions S_(i)(P) where

S _(i)(P)={H:γs(i;H;P)<γs(j;H;P)for all j≠i}.  (9)

and to create the codebook Ŝ, we use the following method:

-   -   1. Create a large training set of L random matrices H(l).    -   2. For each random matrix H(l), perform water-filling operation        to obtain optimum covariance matrices Q(l) and S(l).    -   3. Set iteration counter i=0. Create[100],[104] a set of 2^(N)        ^(s) random diagonal matrices Ŝ^((i))(k) with Tr(Ŝ^((i))(k))=P.    -   4. For every codebook entry Ŝ^((i))(k) and matrix Q(l)        calculate[112] the metric as in (8). Choose[106] indexes        k_(opt)(l) corresponding to the lowest values of        γ_(S)(k;H(l);P).    -   5. If γ_(S)(k_(opt)(l);H(l);P)>γ_(eq)(H(l);P) where        γ_(eq)(H(l);P) is the metric corresponding to equal-power        distribution defined as

$\begin{matrix}{{{\gamma \; {{eq}\left( {{H(l)};P} \right)}} = \frac{\det \left\lbrack {I + {{H(l)}{Q(l)}{H^{H}(l)}}} \right\rbrack}{\det \left\lbrack {I + {{P/n_{T}}{H(l)}{H^{H}(l)}}} \right\rbrack}},} & (10)\end{matrix}$

-   -   -   set the corresponding entry k_(opt)(l)=2^(N) ^(s) . For all            k calculate the subsets[108] L(k)={l:k_(opt)(l)=k}.

    -   6. For all k=0,1, . . . 2^(N) ^(s) −1[114] for which |L(k)|≠0,        calculate[116] a new Ŝ^((i+1))(k) as the arithmetic average

$\begin{matrix}{{{\hat{S}}^{({i + 1})}(k)} = {\frac{1}{{L(k)}}{\sum\limits_{l \in {L{(k)}}}{S(l)}}}} & (11)\end{matrix}$

-   -   7. Calculate the average distortion metric

$\begin{matrix}{{\overset{\_}{\gamma}}_{s}^{({i + 1})} = {\frac{1}{L}{\sum\limits_{l}{\min \left\{ {{\gamma \; {s\left( {{k_{opt}(l)};{{H(l)}P}} \right)}},{\gamma_{eq}\left( {{H(l)}P} \right)}} \right\}}}}} & (12)\end{matrix}$

-   -   8. If distortion metric fulfills | γ _(s) ^((i+1))− γ _(s)        ^((i))|/ γ _(s) ^((i))<Θ, stop. Otherwise increase i with 1 and        go to 4).

The set of vectors Ŝ is then used to calculate the regions in (9). Sincewater-filling strongly depends on the power level P and {circumflex over(V)}, optimally the Ŝ should be created for every power level and numberof bits N_(V) in eigenvector matrix codebook. As an example, the resultsof the above optimization are presented in FIG. 11 b) for a case ofn_(T)=n_(R)=2, N_(V)=2 and N_(S)=1. The optimization was performed usingL=1,000·2^(N) ^(s) and Θ=10⁻⁷. The curves show the entries on thediagonals of the two matrices Ŝ(k) normalized with P. As one can see,one of the matrices tends to assign all the power to one of theeigenmodes, while the other balances the assignment between them. Asexpected, the balancing becomes more even with increasing P where thecapacity of the equal-power open-loop systems approaches the capacity ofthe water-filling closed-loop systems. Since the differences between theentries of Ŝ(k) are not that large for varying powers, it is possible tocreate an average codebook Ŝwhich could be used for all values of P butwe do not treat this problem in here.

An interesting property of the above algorithm is that it automaticallyadjusts the number of entries in Ŝ according to the number of entries in{circumflex over (V)}. For low values of N_(V), even if the algorithmfor selection of Ŝ is started with high N_(S), the optimization processwill reduce the search space by reducing cardinality |L(k)| of certainentries to 0. As a result, for N_(V)=2,3, N_(S)=1 will suffice, whilefor N_(V)=4, the algorithm will usually converge to N_(S)=2. Thisbehavior can be easily explained since for low resolution of the channeleigenvector matrices {circumflex over (V)} only low precision isnecessary for describing Ŝ. Only with increasing N_(V), the precisionN_(S) becomes useful.

III. VQ Algorithm for Flat-Fading MIMO Channels

The vector quantizers from the previous sections are first applied to aflat-fading channel case. In such a case, the elements of each matrix Hin (1) are independent circular complex Gaussian elements, normalized tounit variance.

The system operation can now be described as follows:

-   -   1. The receiver[24] estimates the channel matrix H.    -   2. The receiver[24] localizes the region V_(i) according to (5)        and stores its index as n_(opt).[32]    -   3. Using n_(opt), the receiver[24] places H in a region S_(i)        according to (9) and stores its index as k_(opt).    -   4. If the resulting system capacity using the predefined        codebook entries is higher than the capacity of equal power        distribution as in

C(n _(opt) ,k _(opt))>log₂ det[I+P/n _(T) HH ^(H)](13)

-   -   -   indexes n_(opt) and k_(opt) are fed back to the            transmitter.[34],[36]

    -   5. The transmitter uses[40],[38A] the received indices of a        codebook entries to process its signal. If there is no feedback,        power is distributed equally between the antennas [22].

Using the above algorithm, the system's performance is lower-bounded bythe performance of the corresponding open-loop system and improves ifthe receiver [24] finds a good match between the channel realization andthe existing codebook entries. The salient advantage of such an approachis its flexibility and robustness to the changes of channel model. Ifthere are no good matches in the codebook, the feedback link is notwasted and the transmitter uses the equal power distribution. Thedisadvantage of the system is that the feedback link is characterized bya variable bit rate.

IV. VQ Algorithm for Frequency-Selective MIMO-OFDM Channels

In case of the frequency-selective channel, flat fading algorithm isapplied to the separate OFDM sub-carriers. Although this approach isclearly sub-optimal, it allows us to use a generic vector quantizertrained to the typical flat-fading channel in a variety of otherchannels.

In general case, the feedback rate for such an approach would beupperbounded by N_(OFDM)(N_(V)+N_(D)). However, as pointed out by Kim etal., the correlation between the adjacent sub-carriers in OFDM systemscan be exploited to reduce the required feedback bit rate by properinterpolating between the corresponding optimum signalling vectors. Inthis work, we use a simpler method which allows the receiver[24] tosimply group adjacent M sub-carriers and perform joint optimizationusing the same codebook entry for all of them (such methods aresometimes called clustering).

V. Simulation Results

A. Flat-Fading Channel

We tested the system on 2×2 MIMO and 4×4 MIMO channels with varying SNRand feedback rates. We tested 2×2 MIMO channel with N_(V)=2,3,4 andN_(D)=1, corresponding to total feedback rate of between 3 and 5 bits.Correspondingly, in case of 4×4 MIMO, we used N_(V)=10,12,14 andN_(D)=2, corresponding to total feedback rate between 12 and 16 bits. Wedefine an additional parameter called feedback frequency, v whichdefines how often the receiver[24] requests a specific codebook entryinstead of equal power distribution and an average feedback bit rate asR_(b)=v(N_(V)=N_(S)).

FIG. 12( a) presents the results of simulations of ergodic capacity ofthe system (based on 100,000 independent channel matrices H) in case ofperfect CSIT, vector quantized feedback (partial CSIT) and no CSIT. Itis clearly seen that, even for very low bit rates on a feedback channel,the proposed scheme performs closely to the optimum. A rule of thumbseems to be that the number of bits needed to encode the codebook isapproximately equal to n_(T)×n_(R). Moreover, FIG. 12( b) shows that asthe SNR grows, less feedback is required to provide good systemperformance and the proposed algorithm automatically reduces the reverselink usage.

It is also interesting to note that increasing the quality ofquantization increases the feedback frequency v. This is a consequenceof the fact that there is a higher probability of finding a goodtransmit signal covariance matrix when there are a lot of entries in thecodebook.

B. Frequency-Selective Channel

We have simulated the 2×2 MIMO system using the OFDM modulation withcarrier frequency: f_(c)=2 GHz; signal bandwidth; B=5 MHz, number ofsub-carriers: N_(OFDM)=256; ITU-R M.1225 vehicular A channel model withindependent channels for all pairs of transmit and receiveantennas[22][26]; the guard interval equal to the maximum channel delay.

The results of simulations are presented in FIG. 13. Since the capacitycurves of this system are very similar to capacity of the flat-fading2×2 system in FIG. 12 we decided to show the losses of performance ascompared to the perfect water-filling case instead. FIG. 13 a) shows theloss of performance defined as C-C(M) where C is defined in (2) andC(N_(V), N_(S), M) is the capacity of the system with different feedbackrates and clustering of M sub-carriers. As expected, increasing theclustering, decreases the throughput since the same covariance matrix isused for too many adjacent sub-carriers. At the same time, in FIG. 13 b)shows that the required average feedback rate decreases significantlywith increasing M. For the simulated channel, the best results areprovided by M=8, which is approximately equal to the coherence bandwidthof the channel. An interesting feature of the OFDM-MIMO is that, unlikein the flat-fading case, the feedback rate remains almost constantthroughput the P range. In any case, however, around two orders ofmagnitude more feedback bit rate is required on frequency selectivechannel.

VI. System Model for Multi User Communication

We assume that the communication system consists of a transmitterequipped with n_(T) antennas[22] and n_(T) mobile receivers[24] withidentical statistical properties and n_(R)(k) antennas[26], where k=1,2,. . . K. The mobile user channels are modeled by a set of i.i.d. complexGaussian channel matrices H_(k) of dimension n_(R)(k)×n_(T). (Throughoutthe document we use the upper-case bold letters to denote matrices andlower-case bold letters to denote vectors.) The received signal of thekth user is then given by the n_(R)(k)-dimensional vector y_(k) definedas

y _(k) =H _(k) x+n _(k)  (14)

where x is the n_(T)-dimensional vector of the transmitted signal andn_(k) is the n_(R)(k)-dimensional vector consisting of independentcircular complex Gaussian entries with zero means and unit variances.Finally, we assume that the total transmit power at each transmissioninstant is equal to P. The above assumptions cover a wide class ofwireless systems and can easily be further expanded to includeorthogonal frequency division multiplexing (OFDM) on frequency-selectivechannels or users with different received powers (due to varying pathloss and shadowing).

Although theoretically it is possible to design the optimum CSIquantizer for the above canonical version of the system, such anapproach may be impractical. For example, subsets of receivers [24] withdifferent numbers of receive antennas [26] would require different CSIcodebooks and quantizer design for such a system would be very complex.To alleviate this problem, we assume that the base station treats eachuser as if it was equipped with only one antenna[26], regardless of theactual number of antennas [26] it may have. While suboptimal, such anapproach allows any type of a receiver[24] to work with any base stationand may be even used to reduce the quantization noise as shown byJindal. We call such system setup virtual multiple-input single-output(MISO) since, even though physically each transmitter-receiver link maybe a MIMO link, from the base station's perspective it behaves likeMISO.

We follow the approach of Spencer et al., where each user performssingular value decomposition of H_(k)=U_(k)S_(k)V_(k) ^(H) [30] andconverts its respective H_(k) to a n_(T)-dimensional vector h_(k) as

h _(k) =u _(k) ^(H)H_(k) =s _(k) ^(max) v _(k) ^(h)  (15)

[42] where s_(k) ^(max) is the largest singular value[30A] of S_(k) andu_(k) and v_(k) are its corresponding vectors[30] from the unitarymatrices U_(k) and V_(k), respectively.

Based on (15), the only information that is fed[36], [36A] backfrom[34],[34A] the receivers [24] to the transmitter is the informationabout the vectors h_(k), which vastly simplifies the system design andallows for easy extensions. For example, if multiple streams perreceiver are allowed, the channel information for each stream can bequantized using exactly the same algorithm.

VII. System Design with Full CSIT

In this section, we present typical approaches for the system designwhen full CSIT is available. As a simple form of multi-user selectiondiversity, we define a subset of active users with cardinality n_(T) asS. Furthermore, for each subset S, we define a matrix H[S]=[h₁ ^(T), h₂^(T), . . . ,h_(n) _(T) ^(T)]^(T), whose rows are equal to the channelvectors h_(k) of the active users.

A. Cooperative Receivers

The upper-bound for system sum-rate is obtained when the users areassumed to be able to cooperate. With such an assumption, it is possibleto perform singular value decomposition of the joint channel asH[S]=U[S] S [S] V^(H)[S]. Defining s_(i) as the entries on the diagonalof S[S] allows to calculate the maximum sum-rate of a cooperative systemas

$\begin{matrix}{R^{coop} = {\max\limits_{S}{\overset{n_{T}}{\sum\limits_{i = 1}}\left\lbrack {\log_{2}\left( {{\xi \lbrack S\rbrack}s_{i}^{2}} \right)} \right\rbrack_{+}}}} & (16)\end{matrix}$

where ξ[S] is the solution of the water-filling equation Σ_(i=1) ^(n)^(T) [ξ[S]−1/s_(i) ²]₊=P.

B. Zero-Forcing Dirty-Paper Coding

In practice, the receivers[24] cannot cooperate and the fulldiagonalization of the matrix H[S] is impossible. The problem can stillbe solved by using linear zero-forcing (ZF) followed by non-linear dirtypaper precoding, which effectively diagonalizes the channels to theactive users. The matrix H[S] is first QR-decomposed as H[S]=L[S]Q[S],where L[S] is lower triangular matrix and Q[S] is a unitary matrix.After multiplying the input vector x by Q[S]H, the resulting channel isequal to L[S], i.e., the first user does not suffer from any multi-userinterference (MUI), the second user receives interference only from thefirst user, etc.

In this case, non-causal knowledge of the previously encoded signals canbe used in DPC encoder allowing the signal for each receiver[24]i>1 tobe constructed in such a way that the previously encoded signals forusers k<i, are effectively canceled at the ith receiver[24]. Since theeffective channel matrix is lower triangular, the channel will bediagonalized after the DPC, with l_(i) being the entries on the diagonalof L[S]. This leads to maximum sum-rate calculation as

$\begin{matrix}{R^{{zf} - {dpc}} = {\max\limits_{S^{ord}}{\overset{n_{T}}{\sum\limits_{i = 1}}\left\lbrack {\log_{2}\left( {{\xi \left\lbrack S^{ord} \right\rbrack}l_{i}^{2}} \right)} \right\rbrack_{+}}}} & (17)\end{matrix}$

where ξ[S^(ord)] is the solution of the water-filling equation. Notethat, as opposed to (16), the maximization is performed over orderedversions of the active sets S.

C. Linear Modulation

Even though, theoretically, the above approach solves the problem of thereceiver[24] non-cooperation, its inherent problem is the absence ofeffective, low complexity DPC algorithms. Moreover, since dirty-papercoding requires full CSIT it is likely that systems employing DPC wouldrequire significantly higher quality of channel feedback than simpler,linear precoding systems.

We use the linear block diagonalization approach, which eliminates MUIby composing the modulation matrix B[S] of properly chosen null-spaceeigenmodes for each set S. For each receiver[24]i∈S, the ith row of thematrix H[S] is first deleted to form H[S_(i)]. In the next step, thesingular value decomposition is performed[30],[30A] to yieldH[S_(i)]=U[S_(i)]S[S_(i)]V^(H)[S_(i)]. By setting the ith column of B[S]to be equal to the rightmost vector of V[S_(i)], we force the signal tothe ith receiver[24] to be transmitted in the null-space of the otherusers and no MUI will appear. In other words, the channel will bediagonalized with d_(i) being the entries on the diagonal of H[S]B[S].This leads to formula

$\begin{matrix}{R^{linear} = {\max\limits_{S}{\overset{n_{T}}{\sum\limits_{i = 1}}\left\lbrack {\log_{2}\left( {{\xi \lbrack S\rbrack}d_{i}^{2}} \right)} \right\rbrack_{+}}}} & (18)\end{matrix}$

where ξ[S] is the solution of the water-filling equation.

As an example, FIG. 14 shows the sum-rates of the discussed systems forK=10 users and different antenna configurations. The zero-forcing DPCsystem approaches the cooperative system's sum-rate as the transmittedpower increases. The sub-optimal linear modulation provides lowersum-rate but losses at P>0 dB, as compared to the ZF-DPC system, are inthe range of only 1-2 dB for the 4×4 configuration and fractions of dBfor the 2×2 system. Since the linear system is much easier to implementthan ZF-DPC, we will use it to test our CSI encoding algorithms.

VIII. System Design with Partial CSIT

The systems discussed so far are usually analyzed with assumption that,at any given time, the transmitter will have full information about thematrices H[S]. Unfortunately, such an assumption is rather unrealisticand imperfect CSIT may render solutions relying on full CSIT useless.

In practice, the receivers[24] will quantize the information about theireffective channel vectors h_(k)[30] as ĥ_(k) [32], according to someoptimization criterion. Based on this information, the transmitter willselect[38],[52],[62] the best available modulation matrix {circumflexover (B)} from the predefined transmitter codebook and performwater-filling using the best predefined power division matrix{circumflex over (D)}. Regardless of the optimization criterion, thefinite cardinality of the vector codebooks will increase MUI and lowersystem throughput. FIG. 15 shows the mechanism leading to appearance ofthe MUI in a simple system with n_(T)=2 and K=2 users with effectivechannel vectors h₁ and h₂, encoded by the quantizer as ĥ₁ and ĥ₂. If thefull CSIT is available, the transmitter will choose[38] a modulationmatrix based on eigenmodes v₁ and v₂, which are perpendicular to vectorsh₂ and h₁, respectively. As a result, each user will be able to extractits desired signal without MUI. With partial CSIT, however, thetransmitter will obtain only approximate versions of the effectivechannel vectors, and the resulting modulation matrix will be based oneigenmodes {circumflex over (V)}₁ and {circumflex over (V)}₂, whose dotproducts with h₂ and h₁ will not be zero, causing the MUI.

IX. CSI Quantization Algorithms

The fundamental difference between CSI encoding in single-user andmultiple-user systems is that during normal system operation, eachreceiver[24] chooses its vector ĥ_(k) without any cooperation with otherreceivers[24]. This means that the design of optimum codebook for h_(k)must precede the design of codebooks {circumflex over (B)} and{circumflex over (D)}. Based on (15), one can see that channel stateinformation in form of the vector h_(k) consists of the scalar value ofchannel gain[30A] s_(k) ^(max) and the eigenmode[30] v_(k) ^(H). Sincethese values are independent, we propose an algorithm which separatelyquantizes the information about eigenmodes[32] in codebook {circumflexover (v)} and amplitude gains[32A] in codebook ŝ.

A. Quantization[32],[51] of Receiver Channel Eigenmodes

We assume that N_(v) is the number of bits per channel realization inthe feedback link needed to represent the vectors v_(k) in (15). Wedivide the space of all possible v's into 2^(N) ^(v) regions v_(i)

v _(i) ={v:γ _(v)(i;v)<γ_(v)(j;v)for all j≠i}  (19)

where γ_(v)(n; v) is a distortion function. Within each region v_(i), wedefine a centroid vector {circumflex over (v)}(i)[49], which will beused as a representation of the region. The design of the codebook is{circumflex over (v)} can be done analytically and/or heuristicallyusing for example the Lloyd algorithm. In this work, we define thedistortion function as the angle between the actual vector v and is{circumflex over (v)}(i): γ_(v)(i;v)=cos⁻¹({circumflex over (V)}(i)·v),which has been shown by Roh and Rhao to maximize ergodic capacity, anduse Lloyd algorithm to train[47] the vector quantizer. Note that theconstruction of is T is independent of the transmit power.

B. Quantization[32A] of Receiver Amplitude Gains

We assume that N_(S) is the number of bits per channel realization inthe feedback link needed to represent the scalar s_(k) ^(max) in (15).We divide the space of all possible channel realizations s=s_(k) ^(max)into 2^(N) ^(s) regions s_(i)

s _(i) ={s:|ŝ(i)−s|<ŝ|<|ŝ(j)−s|for all j≠i}  (20)

where ŝ(i) [100] are scalar centroids representing regions s_(i). Inthis work, we perform the design[102] of the codebook ŝ using theclassical non-uniform quantizer design algorithm with distortionfunction given by quadratic function of the quantization error as∈(i,s)=(s−ŝ(i))².

The construction of the codebook ŝ is generally dependent on thetransmit power level. However, as pointed out above the differencesbetween the codebooks ŝ for different power regions are quite small.This allows us to create only one codebook ŝ and use it for all transmitpowers.

C. Quantization of the Transmitter Modulation Matrices

The calculation of the modulation matrix {circumflex over (B)} is basedon the given codebook {circumflex over (v)}. We assume that thequantization[32] of the channel eigenmodes is performed at thereceiver[24] side and each user transmits[34] back its codebook indexi_(k). The indices are then used at the transmitter side toselect[38][52][62] the modulation matrix {circumflex over (B)}(i₁, i₂, .. . i_(K)). Since, from the linear transmitter point of view, orderingof the users is not important, we will use the convention that theindices (i₁, i₂, . . . i_(K)) are always presented in the ascendingorder. For example, in a system with K=2, n_(T)=2 and 1-bit vectorquantizers {circumflex over (v)}, there will exist only three possiblemodulation matrices corresponding to sets of {circumflex over (v)}indices (1,1), (1,2) and (2,2).

In the context of vector quantizing, the design of the modulationmatrices can no longer be based on the algorithm presented in SectionVII.C. Using this method with quantized versions of h_(k) produces wrongresult when identical indices i_(k), are returned and the receiver[24]attempts to jointly optimize transmission to the users with seeminglyidentical channel vectors ĥ_(k). Instead, we propose the followingalgorithm to optimize the set of matrices {circumflex over (B)}(i₁, i₂,. . . i_(K)):

-   -   1. Create a large set of Nn_(T) random matrices[46] H_(k), where        N is the number of training sets with n_(T) users each.    -   2. For each random matrix H_(k), perform singular value        decomposition[68] and obtain h_(k)[70] as in (15).    -   3. For each vector h_(k) store[74] the index i_(k) of the        corresponding entry {circumflex over (v)}(i_(k)).    -   4. Divide[76] the entire set of matrices H_(k) into N sets with        n_(T) elements each.    -   5. Sort[78] the indices i_(k) within each set l in the ascending        order. Map[78] all unique sets of sorted indices to a set of        unique indices I_(B) (for example (1,1) I_(B)=1; (1,2) I_(B)=2;        (2,2) I_(B)=3 . . . ).    -   6. In each set l, reorder the corresponding channel vectors        h_(k) according to their indices i_(k) and calculate[80] the        optimum B_(l) using the method from Section VII.C.    -   7. Calculate[84] a set {circumflex over (B)}(I_(B)) as a        column-wise spherical average of all entries B₁ corresponding to        the same[82] index I_(B).

After calculation of |I_(B)| modulation matrices {circumflex over (B)},the remaining part of system design is the calculation of thewater-filling matrices {circumflex over (D)}, which divide the powersbetween the eigenmodes at the transmitter. The procedure for creation ofcodebook {circumflex over (D)}[118] is similar to the above algorithm,with the difference that the entries ŝ(n_(k)) are used instead of{circumflex over (v)}(i_(k)), and the spherical averaging of thewater-filling matrices is performed diagonally, not column-wise.Explicitly:

-   -   1. Create a large set of Nn_(T) random matrices [46] H_(k),        where N is the number of training sets with n_(T) users each.    -   2. For each random matrix H_(k), perform singular value        decomposition[104] and obtain h_(k) as in (15).    -   3. For each vector h_(k) store the index n_(k) of the        corresponding entry ŝ(n_(k)).[106]    -   4. Divide the entire set of matrices H_(k) into N sets with        n_(T) elements each. [108]    -   5. Sort the indices n_(k) within each set l in the ascending        order. Map all unique sets of sorted indices to a set of unique        indices I_(D) (for example (1, 1)→I_(D)=1; (1, 2)→I_(D)=2;        (2,2)→I_(D)=3 . . . ).[110]    -   6. In each set l, reorder the corresponding channel vectors        h_(k) according to their indices n_(k) and calculate the optimum        D₁ using the method of water-filling from Section VII.C.[112]    -   7. Calculate[116] a set D (I_(D)) as a diagonal spherical        average of all entries D_(l) corresponding to the same[114]        index I_(D).

D. System Operation

The matrices B and D are used in the actual system in the following way:

-   -   1. The K mobile receivers [24] estimate[30],[30A] their channels        and send the indices i_(k)[34] and n_(k)[34A] of the        corresponding receiver quantizer entries {circumflex over        (v)}(i_(k))[32] and ŝ(n_(k))[32A] to the base station.    -   2. The transmitter forms l sets of users corresponding to all        combinations of n_(T) users out of K. Within each set l, the        indices i_(k)[58] and n_(k)[63] are sorted in the ascending        order and mapped to their respective indices I_(B)(l)[60] and        I_(D)(l)[64];    -   3. Within each set l, the matrices {circumflex over        (B)}[I_(B)(l)][52],[62] and {circumflex over (D)}[I_(D)(l)]        [54],[38A] are used to estimate[56],[66] instantaneous sum-rate        R(l).    -   4. The base station flags the set of users providing highest        R(l) as active for the next transmission epoch.    -   5. The transmitter uses the selected matrices to transmit        information.

E. Nested Quantization of Channel Eigenmodes

The above algorithm does not assume any previous knowledge of thechannel and the feedback rate required to initially acquire the channelmay be high. In order to reduce it on slowly varying channels, wepropose a nested quantization method shown in FIG. 16. In this example,an initial coarse quantization of the CSI is performed[88] using only 2bits. Assuming[98] that the actual channel vector lies in region v₃ andthat it stays within this region during the transmission of subsequentframes [90],[92],[94], it is possible to further quantize v₃ usingnested, precise quantization[96]. In this way, the effective feedbackrate is still 2 bits, but the resolution corresponds to a 4-bitquantizer. In order to quantify the possibility of such a solution, weintroduce eigenmode coherence time τ_(eig)(N_(v)), which, related to theframe duration T_(frame), shows for how long the channel realizationstays within the same region v_(i) of the N_(v)-bit quantizer. Noticethat eigenmode coherence time depends on the number of bits N_(v): thehigher the initial VQ resolution, the faster the channel vector willmove to another region and the benefits of nested quantization willvanish.

X. Simulation Results

We have implemented our system using a base station with n_(T)=2 and aset of K mobile receivers[24] with identical statistical properties andn_(R)(k)=n_(T)=2. We have varied the number of users from 2 to 10 andoptimized vector quantizers using methods presented above. Each systemsetup has been simulated using 10,000 independent channel realizations.

FIGS. 17 and 18 show the results of the simulations for varying feedbackrates. Except for very high transmit power values P>15 dB, it ispossible to closely approach the sum-rate of the full CSI system with 8bits (N_(v)=7, N_(s)=1) in the feedback link. The required feedback rateN_(v) is much higher than N_(s), which shows the importance of highquality eigenmode representation in multiuser systems. In high powerregion, increasing N_(v) by 1 bit increases the spectral efficiency byapproximately 1 bit/channel use.

FIG. 19 shows the results of nested quantization with low feedback rateswhen the channel's eigenmode coherence time is longer than frameduration. If such a situation occurs, the considered system may approachthe theoretical full CSIT sum-rate using only 5 bits per channel use inthe feedback link.

Note that further feedback rate reduction can be achieved with thealgorithm presented by Jindal. However, we will not present theseresults here.

XI. Additional Matter

In case of multiple user systems, multi-user diversity may be achievedby a simple time-division multiplexing mode (when only one user at atime is given the full bandwidth of the channel) or scheduling thetransmission to multiple users[24] at a time. Here we analyze the formerapproach and assume that the base station will schedule only oneuser[24] for transmission.

If the system throughput maximization is the main objective of thesystem design, the transmitter must be able to estimate[56] thethroughput of each of the users, given the codebook indices it receivedfrom each of them. Assuming that the kth user returned indicesrequesting the eigenmode codeword {circumflex over (V)}_(k) and powerallocation codeword Ŝ_(k), the user's actual throughput is given as

R _(k) ^(single)=log₂ det[I _(n) _(R) _((k)) +H _(k) {circumflex over(V)} _(k) Ŝ _(k) {circumflex over (V)} _(k) ^(H) H _(k) ^(H)]  (21)

Using singular value decomposition of channel matrix H_(k) and equalitydet[I_(n) _(R) _((k))+H_(k){circumflex over (Q)}_(k)H_(k)^(H)]=det[I_(n) _(T) +{circumflex over (Q)}_(k)H_(k) ^(H)H_(k)], it canbe shown that

R _(k) ^(single)=log₂ det[I _(n) _(T) +H _(k) {circumflex over (V)} _(k)Ŝ _(k) {circumflex over (V)} _(k) ^(H) H _(k) ^(H) H _(k)]=log₂ det[I_(n) _(R) _((k)) +Ŝ _(k) E _(k) ^(H) D _(k) ² E _(k)]  (22)

where E_(k)=V_(k) ^(H){circumflex over (V)}_(k) is a matrix representingthe match between the actual eigenmode matrix of the channel and itsquantized representation (with perfect match E_(k)=I_(n) _(T) ).

In practice, the actual realization of E_(k) will not be known at thetransmitter, and its mean quantized value Ê_(k), matched to {circumflexover (V)}_(k) must be used instead. Similarly, the transmitter must usea quantized mean value {circumflex over (D)}_(k), which is matched tothe reported water-filling matrix Ŝ_(k). This leads to the selectioncriterion for the optimum user[24] k_(opt)

$\begin{matrix}{k_{opt} = {\arg \; {\max\limits_{{k = 1},2,\; {\ldots \mspace{14mu} K}}{\log_{2}{{\det \left\lbrack {I_{n_{R}{(k)}} + {{\hat{S}}_{k}{\hat{E}}_{k}^{H}{\hat{D}}_{k}^{2}{\hat{E}}_{k}}} \right\rbrack}.}}}}} & (23)\end{matrix}$

Similarly to single-user selection, also in the case of multi-userselection the choice of active users must be made based on incompleteCSIT. The quantized CSI will result in appearance of multi-userinterference. We represent this situation using variableÊ_(k,l)={circumflex over (v)}_(k) ^(H)[{circumflex over (B)}_(S)]_(·,l),which models the dot product of the quantized eigenmode v _(k) ^(H)reported by the kth user in the set S, and the lth vector in theselected modulation matrix[52] {circumflex over (B)}_(S).

Moreover, assuming that the quantized singular value of the kth user inthe set S is given by {circumflex over (d)}_(k) and the transmitter usespower allocation matrix[54] Ŝ_(S), the estimated sum-rate of the subsetS is given as[56]

$\begin{matrix}{{R^{multi}(S)} = {\sum\limits_{k \in S}{{\log_{2}\left( {1 + \frac{P{{\hat{d}}_{k}^{2}\left\lbrack {\hat{S}}_{S} \right\rbrack}_{k,k}{\hat{E}}_{k,k}^{2}}{1 + {P{\hat{d}}_{k}^{2}{\sum\limits_{l \neq k}{\left\lbrack {\hat{S}}_{S} \right\rbrack_{l,l}{\hat{E}}_{k,l}^{2}}}}}} \right)}.}}} & (24)\end{matrix}$

Note that, due to the finite resolution of the vector quantizer, themulti-user interference will lower the max sum-rate R^(multi)(S)<R^(max)for all S.

Based on (24) the choice of the active set of users is then performed as

$\begin{matrix}\left\{ \begin{matrix}{{x_{k} = {\min\limits_{x}{\sum\limits_{l \in L}{\cos^{- 1}\left( {\left\lbrack V_{l} \right\rbrack_{\cdot {,k}} \cdot x} \right)}}}},} & {{k = 1},2,{3\mspace{14mu} \ldots}} \\{{{x_{k} \cdot x_{l}} = 0},} & {k \neq l}\end{matrix} \right. & (30)\end{matrix}$

One can also modify the algorithm presented. in section II.A as follows:we use a simple iterative heuristic based on a modified form of theLloyd algorithm, which has very good convergence properties. Thealgorithm starts by creating a random codebook of centroids {circumflexover (V)} and iteratively updates it until the mean distortion metricchanges become smaller than a given threshold.

The algorithm works as follows:

-   -   1. Create a large training set of L random matrices H_(l).[46]    -   2′ For each random matrix H_(l), perform singular value        decomposition to obtain V_(l) as in (3).    -   3′ Align orientation of each vector in V_(l) to lie within the        same 2n_(T)-dimensional hemisphere.    -   4. Set iteration counter i=0. Create a set of 2^(N) ^(v) random        matrices Ĥ(n).    -   5. For each matrix Ĥ(n), calculate corresponding {circumflex        over (V)}^((i))(n) using singular value decomposition.    -   6. Align orientation of each vector in {circumflex over        (V)}^((i))(n) to lie within the same 2n_(T)-dimensional        hemisphere.    -   7. For each training element H_(l) and codebook entry        {circumflex over (V)}^((i))(n), calculate the metric in (4). For        every l, choose the index n_(opt)(l) corresponding to the lowest        value of γv(n;H_(l)). Calculate the subsets        L(n)={l:n_(opt)(l)=n} for all n.    -   8. Calculate new matrix {circumflex over (V)}^((i+1))(n) as a        constrained spherical average V _(l) ^(O) of all entries V_(L)        corresponding to the same index n

{circumflex over (V)} ^((i+1))(n)= V _(l) ^(O)|_(l∈L(n))  (26)

-   -   9. For each region n, where cardinality |L(n)|≠0, calculate the        mean eigenmode match matrix

$\begin{matrix}{S_{opt} = {\arg\limits_{S}\; \max \; {{R^{vq}(S)}.}}} & (25)\end{matrix}$

-   -   10. Calculate the average distortion metric

γ _(V) ^((i+1))=1/LΣ _(l)γ_(V)(n _(opt)(l);H _(l))

-   -   11. If the distortion metric fulfills | γ _(V) ^((i+1))− γ _(V)        ^((i))|/ γ _(V) ^((i))<Θ, where Θ is a design parameter, stop.        Otherwise increase i by 1, and go to 7).

Upon completion of the above algorithm, the final set of vectors{circumflex over (V)} can be used to calculate the regions V_(i) in (5).

The design of the transmitter modulation matrices presented in sectionIX.C can be modified as follows: we propose the following algorithm tooptimize the set of matrices {circumflex over (B)}(i₁,i₂, . . . i_(n)_(T) ):

-   -   1. Create a large set of Ln_(T) random matrices H_(l), where L        is the number of training sets with n_(T) users each.    -   2. For each random matrix H_(l), perform singular value        decomposition[68] and obtain h_(l)[70] as in (15).    -   3. Align orientation of each vector h_(l) to lie within the same        2n_(T)-dimensional hemisphere.    -   4. For each vector h_(l), store[74] the index i_(l) of the        corresponding entry {circumflex over (v)}(i_(l)).    -   5. Divide[76] the entire set of matrices H_(i) into L sets with        n_(T) elements each.    -   6. Sort[78] the indices i_(l) within each set in the ascending        order. Map[78] all unique sets of sorted eigenmode indices i_(l)        to a set of unique modulation matrix indices I_(B) (for example,        if n_(T)=2: (1,1)→I_(B)=1; (1,2)→I_(B)=2; (2,2)→I_(B)=3 . . . ).    -   7. In each set L(I_(B))={l:(i₁,i₂, . . . i_(n) _(T) )→I_(B)},        reorder the channel vectors h_(l) according to the indices i_(l)        and calculate[80] the optimum B_(l) using the method from        Section VII.C.    -   8. Calculate[84] the set {circumflex over (B)}(I_(B)) as a        column-wise spherical average of all entries B_(i) corresponding        to the same[82] index I_(B) as

∀_(n=1,2, . . . n) _(T) [{circumflex over (B)}(I _(B))]_(·,n)= [B_(l)]_(·,n) ^(O)|_(L(I) _(B) ₎)  (28)

After completion of the above algorithm, the transmitter will have theset of |I_(B)| modulation matrices {circumflex over (B)}(I_(B))corresponding to all sorted combinations of the channel eigenmodeindices that can be reported by the receivers.

To clarify our notation for spherical average used in (26) and (28), weoutline a method to calculate a spherical average of a set ofunit-length vectors, and a spherical average of a set of unitarymatrices, preserving the mutual perpendicularity of the componentvectors. We use the notation v_(l) ^(O)|_(l∈L) to represent a sphericalaverage of all unit-length vectors v_(l) contained in a set L. Based onStatistical Analysis of Spherical Data by Fisher et al., we define thespherical average as

$\begin{matrix}{{{\hat{E}}^{({i + 1})}(n)} = {\frac{1}{{L(n)}}{\sum\limits_{l \in {L{(n)}}}{V_{l}^{H}{{{\hat{V}}^{({i + 1})}(n)}.}}}}} & (27)\end{matrix}$

where the unit-length vector x is found using one of the constrainednon-linear optimization algorithms.

In case of the spherical average of a set of unitary matrices, denotedas v_(l) ^(O)|_(l∈L), the averaging of the unit-length column vectorsmust be performed in a way that the resulting matrix is also unitary. Werepresent the spherical matrix average as a collection of unit-lengthvectors x_(l) as V ^(O)=[x₁, x₂, x₃, . . . ] and jointly optimize themas

$\begin{matrix}{\left. {\overset{\_}{v_{l}}}^{O} \right|_{l \in L} = {\min\limits_{x}{\sum\limits_{l \in L}{\cos^{- 1}\left( {v_{l} \cdot x} \right)}}}} & (29)\end{matrix}$

Immaterial modifications may be made to the embodiments described herewithout departing from what is covered by the claims.

While illustrative embodiments have been illustrated and described, itwill be appreciated that various changes can be made therein withoutdeparting from the spirit and scope of the invention.

1. A method of transmission over multiple wireless channels in amultiple antenna system, the method comprising the steps of: storingchannel modulation matrices at a transmitter; receiving quantizedchannel state information at the transmitter from plural receivers;selecting a transmission modulation matrix using the quantized channelstate information from the stored channel modulation matrices; andtransmitting over the multiple channels to the plural receivers usingthe selected transmission modulation matrix.
 2. The method of claim 1 inwhich the quantized channel state information comprises indexesidentifying channel state modes.
 3. The method of claim 2 furthercomprising the steps of: receiving quantized mode gain information atthe transmitter from the plural receivers; and adjusting transmissionpower allocation to the transmitter antennas using the quantized modegain information.
 4. The method of claim 1 further comprising the stepof storing at the receivers indexes of channel eigenmodes generated by acapacity enhancing algorithm.
 5. A method of transmission over multiplewireless channels in a multiple antenna system, the method comprisingthe steps of: storing channel modulation matrices at a transmitter;storing at one or more receivers indexes of modulation matricesgenerated by a capacity enhancing algorithm; upon a selected one of theone or more receivers receiving a transmission from the transmitter, theselected receiver selecting a modulation matrix from the storedmodulation matrices that optimizes transmission between the transmitterand the selected receiver; the selected receiver sending an indexrepresenting the selected modulation matrix; receiving the index at thetransmitter from the selected receiver; and the transmitter transmittingover the multiple channels using the selected transmission modulationmatrix.
 6. The method of claim 5 further comprising the step of thetransmitter, after receiving channel information from multiplereceivers, choosing one particular receiver to transmit to for someperiod of time based on the expected throughput to each receiver.
 7. Amethod of transmission between a transmitter and one or more receiversin a wireless multiple channel system where the transmitter transmits onat least n>1 antennas, the method comprising the steps of: at least oneof the one or more receivers: estimating the respective multiple antennachannels; decomposing the estimated channel to form a matrix ofeigenmodes; testing entries in a codebook of transmitter modulationmatrices to select a transmitter modulation matrix based on capacity;and sending the index of the selected transmitter eigenmode modulationmatrix to the transmitter; and based on the index transmitted by thereceiver, the transmitter choosing a channel modulation matrix and usingthe channel modulation matrix to transmit information to at least one ofthe one or more receivers.
 8. The method of claim 7 in which thereceiver determines respective singular values of the eigenmodes, testsentries in a codebook of transmitter power division matrices incombination with testing the entries in the codebook of transmittermodulation matrices to select the modulation matrix and a transmitterpower division matrix, and sends an index of the power division matrixback to the transmitter.
 9. The method of claim 7 in which the systemtransmits using OFDM, and the method is applied to sets of subcarriersjointly.
 10. A method of transmission between a transmitter and pluralreceivers in a wireless multiple channel system where the transmittertransmits on at least n>1 antennas, the method comprising the steps of:each receiver of a group of receivers estimating the respective multipleantenna channels, decomposing the estimated channels to form a matrix ofeigenmodes, testing entries in a codebook of receiver modulationmatrices for a match with the estimated channels, and sending an indexof a selected receiver modulation matrix to the transmitter; and basedon the indexes transmitted by the receivers, the transmitter choosing achannel modulation matrix and using the channel modulation matrix totransmit information to the receivers.
 11. The method of claim 10 inwhich each receiver of the group of receivers determines respectivesingular values of the eigenmodes, tests entries in a codebook ofreceiver power division matrices in combination with testing the entriesin the codebook of receiver modulation matrices to select the modulationmatrix and a transmitter power division matrix, and sends an index ofthe power division matrix back to the transmitter.
 12. The method ofclaim 10 in which the system transmits using OFDM, and the method isapplied to sets of subcarriers jointly.
 13. A method of transmissionover multiple wireless channels in a multiple antenna system, the methodcomprising the steps of: storing codebook indexes of channel stateinformation at a receiver, the codebook indexes comprising at least afirst set of coarse codebook indexes and a second set of fine codebookindexes; selecting at least a first codebook index from the coarsecodebook indexes and transmitting the first codebook index to thetransmitter; the transmitter transmitting to the receiver using amodulation matrix based upon the first codebook index; the receiver,upon receiving a transmission using a modulation matrix based upon thefirst codebook index, selecting a second codebook index from the finecodebook indexes and transmitting the second codebook index to thetransmitter.
 14. The method of claim 13 in which the receiver, uponreceiving a transmission using a modulation matrix based upon a coarsecodebook index, selects whether to send a fine codebook index based uponan estimate of the rate of change of the multiple wireless channels.